package com.example.barnes.ummo;
import android.content.Intent;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import com.astuetz.PagerSlidingTabStrip;
import com.example.barnes.ummo.db.Db;
import com.example.barnes.ummo.fragment.QFragmentManager;
import com.example.barnes.ummo.ummoAPI.JoinedQ;
import com.github.florent37.hollyviewpager.HollyViewPager;
import org.json.JSONArray;
import org.json.JSONException;
import java.util.ArrayList;
import java.util.List;
import butterknife.Bind;
import uk.co.chrisjenx.calligraphy.CalligraphyConfig;
public class Qs extends AppCompatActivity
{
@Bind(R.id.hollyViewPager)
HollyViewPager hollyViewPager;
private ViewPager viewPager;
private PagerSlidingTabStrip pagerSlidingTabStrip;
Db db;
public List<String> qTabsList = null;
public List<String> qTabsNames = null;
public List<String> qPos = null;
int numTabs;
String qsJSON;
//I replaced the String with the JoinedQ Class, to encapsulate more information.
List<JoinedQ> qnames = new ArrayList<JoinedQ>();
int tabpos;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.q);
String cellnumb = PreferenceManager.getDefaultSharedPreferences(this).getString(getString(R.string.PREF_USER_CELLNUMBER),"NULL");
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/Ubuntu-C.ttf")
.setFontAttrId(R.attr.fontPath)
.build()
);
qsJSON=getIntent().getStringExtra("joinedQs");
Log.d("QSTRING",qsJSON);
try{
String qAlphaNum ="";
String pos = "";
JSONArray qArrays = new JSONArray(qsJSON);
for(int i=0;i<qArrays.length();i++){
String Qname = qArrays.getJSONObject(i).getJSONObject("managedQ").getString("qName");
if(cellnumb!="NULL"){
JoinedQ joinedQ = new JoinedQ(qArrays.getJSONObject(i),cellnumb);
qnames.add(joinedQ);
pos=qArrays.getJSONObject(i).getJSONObject("managedQ").getJSONObject("qErs").getJSONObject(cellnumb).getString("position");
qAlphaNum = qArrays.getJSONObject(i).getJSONObject("managedQ").getJSONObject("qErs").getJSONObject(cellnumb).getString("numCode");
}
//TextView tv = (TextView)findViewById(R.id.man_one_text);
// tv.setText(qAlphaNum);
}
}
catch (JSONException jse)
{
Log.e("JoinedQS",jse.toString());
}
db = new Db(this);
db.open();
qTabsNames = db.getAllQs();
qTabsList = db.getAllQs();
qPos = db.getQPosition();
db.close();
numTabs = qTabsList.size();
viewPager = (ViewPager) findViewById(R.id.view_pager);
pagerSlidingTabStrip = (PagerSlidingTabStrip) findViewById(R.id.tabs);
Intent intent = getIntent();
if (intent != null)
{
String tabPos = intent.getStringExtra("tabPos");
if ((tabPos!=null))
{
int int_tabPos = Integer.parseInt(tabPos);
tabpos = int_tabPos;
viewPager.setAdapter(new QFragmentManager(getSupportFragmentManager(), qnames, tabpos));
pagerSlidingTabStrip.setViewPager(viewPager);
if (tabpos != -1)
{
viewPager.setCurrentItem(tabpos);
}
}
else
{
tabpos = -1;
viewPager.setAdapter(new QFragmentManager(getSupportFragmentManager(), qnames, tabpos));
pagerSlidingTabStrip.setViewPager(viewPager);
}
}
}
private List<String> getTitles()
{
/* if (qTabsNames.size() == 1)
return Lists.newArrayList(qTabsNames.get(0));
else if (qTabsNames.size() == 2)
return Lists.newArrayList(qTabsNames.get(0), qTabsNames.get(1));
else if (qTabsNames.size() == 3)
return Lists.newArrayList(qTabsNames.get(0),qTabsNames.get(1),qTabsNames.get(2));
else if (qTabsNames.size() == 4)
return Lists.newArrayList(qTabsNames.get(0),qTabsNames.get(1),qTabsNames.get(2),qTabsNames.get(3));
else if (qTabsNames.size() == 5)
return Lists.newArrayList(qTabsNames.get(0),qTabsNames.get(1),qTabsNames.get(2),qTabsNames.get(3),qTabsNames.get(4));
else if (qTabsNames.size() == 6)
return Lists.newArrayList(qTabsNames.get(0),qTabsNames.get(1),qTabsNames.get(2),qTabsNames.get(3),qTabsNames.get(4),qTabsNames.get(5));
else if (qTabsNames.size() == 7)
return Lists.newArrayList(qTabsNames.get(0),qTabsNames.get(1),qTabsNames.get(2),qTabsNames.get(3),qTabsNames.get(4),qTabsNames.get(5),qTabsNames.get(6));
else
return Lists.newArrayList(qTabsNames.get(0));*/
return new ArrayList<String>();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_qs, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
return super.onOptionsItemSelected(item);
}
}